Toki Tori 2 ~ ma
File Archive
struct ma_compressed_file_t {
char unknown1;
char magic[4];
int unknown2;
int data_length_src;
int unknown3;
char unknown4;
int data_length_dst;
char data[data_length_src]; // compressed with FastLZ.
// Decompresses to be of length `data_length_dst`
// contains a ma_decompressed_file_t
};
struct ma_file_entry_t {
short name_len;
char name[name_len]; // null-terminated ascii
int offset;
int length;
int unknown1;
int unknown2;
};
struct ma_decompressed_file_t {
int num_files;
ma_file_entry_t files[num_files];
char padding[x]; // calculate x so we're 16-byte aligned
char data[y]; // this is all the file data.
// offsets are relative to the start of this array, rather than the struct.
};